仮想MFAを設定しているのに、Security Hub の CIS AWS Foundations Benchmark v1.2.0 『ハードウェア MFA はルートユーザーに対して有効にする必要があります』が検知されて悩んだ話
(2023/04/07 更新) チェック項目名およびドキュメントの表記に従い、『「ルート」アカウント』の表記を『ルートユーザー』に変更しました
おはこんばんちは。オペレーション部のもっさんです。
AWSのルートアカウントの保護に、仮想 MFAを設定しているにもかかわらず、Security Hub の CIS AWS Foundations Benchmark v1.2.0 のチェック項目である『1.14 —ハードウェア MFA はルートユーザーに対して有効にする必要があります』で警告が表示され、対応に悩んでしまったのでブログを書きました。 「チェック項目のタイトルをちゃんと確認しようよ!」というオチだったのですが、同じように悩んでいる方への気づきになればいいなと思い、記事に残します。
悩んでいたこと
Security Hub で CIS AWS Foundations Benchmark v1.2.0 のセキュリティ基準を有効化したところ、『1.14 —ハードウェア MFA はルートユーザーに対して有効にする必要があります』の項目が不合格としてチェックされていました。この AWS アカウントでは、仮想 MFA デバイスを使用して二要素認証を設定していたので、対策は十分であると考えていました。そのため、なぜこの項目が不合格になっているのか、どうすればクリアできるかを悩んでいました。
結論:『ハードウェア MFA はルートユーザーに対して有効にする必要があります』は、仮想 MFA デバイスでは不合格として検知されてしまう
もうお気づきの方も多いかと思いますが、結論としてはハードウェア MFA デバイスを用いた保護を行わないと、不合格として検知されてしまうことが原因でした。 (よくよく確認したら、項目タイトルに「ハードウェア MFA」と、ばっちり記載されているのですよね) CIS AWS Foundations Benchmark v1.2.0 のドキュメントも、併せて確認してみましょう。
CIS では、ハードウェア MFA を使用してルートアカウントを保護することをお勧めします。 CISAWS基礎ベンチマークコントロール - AWS Security Hub
ハードウェア MFA デバイスが使用されているかをチェックされているため、仮想 MFA デバイスでは不合格として検知されてしまいます。
仮想 MFA デバイスで運用するルールであれば、個別にチェック項目を「無効化」することもできる
ただ、ハードウェア MFA デバイスでは、ルートユーザーを複数人で管理する場合や、デバイスが故障した場合の対応が難しくなるといった理由で、仮想 MFA デバイスを使用している方も多いと思います。 仮想 MFA デバイスでルートユーザーを運用したい場合は、このチェック項目を個別に無効化することも可能です。
個別のチェック項目(コントロール)を無効化する手順
チェック項目タイトルの右側にある、「無効化」のボタンをクリックします。 ポップアップが表示されます。この画面では、任意でチェック項目を無効にする理由をメモすることができます。
後述しますが、この画面で入力された無効化の理由は、あとからコントロールステータスで確認できるため、複数人でセキュリティのチェックを実施している場合の情報引き継ぎに活用することができます。 今回は、「ルートアカウントは仮想MFAで保護されているため」と入力します。 ポップアップ右下の「無効化」をクリックします。
無効化したチェック項目は「無効」のタブで確認できるようになります。無効化した項目は、ベンチマークのセキュリティスコア対象から除外されます。 コントロールステータスを確認すると、コンプライアンスのステータスは「無効」となっていました。先ほどポップアップ画面で入力した「無効にする理由」も表示されていますね。
無効化した項目は、同じ手順ですぐに有効へ切り替えることが可能です。運用ルールが変更になっても安心ですね。
引用・参考ドキュメント
CISAWS基礎ベンチマークコントロール - AWS Security Hub 個々のコントロールの無効化と有効化 - AWS Security Hub